package com.bsj.power.common.def.entity.sys;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * @author yinhao
 * @version 1.0
 * @description 系统规则配置
 * @date 2024/8/26
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "tab_system_config")
public class SystemConfig {

    /**
     * 主键ID
     */
    @TableId(value = "system_config_id", type = IdType.AUTO)
    private Long systemConfigId;
    /**
     * 设置用户的ID
     */
    @TableField(value = "user_id")
    private Long userId;
    /**
     * 通知手机
     */
    @TableField(value = "mobile_phone")
    private String mobilePhone;
    /**
     * 通知邮箱
     */
    @TableField(value = "mail")
    private String mail;
    /**
     * 电子围栏停留时长(分钟)
     */
    @TableField(value = "path_remain_time")
    private Integer pathRemainTime;
    /**
     * 报警附件追溯时长(10s - 30s)
     */
    @TableField(value = "alarm_run_time")
    private Integer alarmRunTime;
    /**
     * CRV状态异常判断时长阈值(分钟)
     */
    @TableField(value = "crv_fail_time")
    private Integer crvFailTime;
    /**
     * 报警组合时长(秒)
     */
    @TableField(value = "compose_alarm_time")
    private Integer composeAlarmTime;
    /**
     * 登录失败次数锁定
     */
    @TableField(value = "login_fail_num")
    private Integer loginFailNum;
    /**
     * 登录失败锁定时长(秒)
     */
    @TableField(value = "login_fail_lock")
    private Integer loginFailLock;
    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    @JSONField(format ="yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    @JSONField(format ="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * 离线时长(分钟) 默认1分钟
     */
    @TableField(value = "offline_dur")
    private Integer offlineDur;
    /**
     * 消失时长(分钟) 默认5分钟
     */
    @TableField(value = "dissipate_dur")
    private Integer dissipateDur;

}
